#include <stdint.h>
#include <stdlib.h>
#include "gd32f30x.h"
#include "delay.h"
#include "wdg_drv.h"
#include "led_drv.h"
#include "key_drv.h"
#include "sht20_drv.h"
#include "pm25_drv.h"
#include "battery_drv.h"
#include "lcd_drv.h"
#include "rtc_drv.h"
#include "wifi_drv.h"
/**
***********************************************************
* @brief systick初始化
* @param
* @return 
***********************************************************
*/
//static void SystickInit(void)
//{
//	/*1ms 产生一次定时中断*/
//	if (SysTick_Config(rcu_clock_freq_get(CK_AHB) / 1000))
//	{
//		while (1);
//	}
//}

void PlatformDrvInit(void)
{
	nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0);  //  设置硬件中断的优先级分组,只有抢占优先级,没有子优先级,rtos需要
	DelayInit();
//	SystickInit(); // 在内核的vTaskStartScheduler->xPortStartScheduler设置了优先级，xPortStartScheduler->vPortSetupTimerInterrupt设置了中断周期，开启工作
	LedDrvInit();
	KeyDrvInit();
	TempHumiDrvHwInit();
	Pm25DrvHwInit();
	BatteryHwDrvInit();
	LcdDrvInit();
	TurnOffScreen();
	RtcDrvInit();
	WifiModuleDrvInit();
	DelayNms(1000);
	TurnOnScreen();
//	WdgDrvInit();   // 放在最后，初始化延时完成再开启开门狗，否则会导致任务未及时喂狗复位
}
